var dataList=[]
$(function () {
// 解决table中点击行选中与checkbox冲突问题
    $('table').on('load-success.bs.table', function (e,data) {
        $(e.target).find('label.lyear-checkbox').on('click', function (e) {
            e.stopPropagation();
        })
    });

    $('#startDate').datetimepicker({
        format: 'YYYY-MM-DD HH:mm',
        locale: moment.locale('zh-cn'),
    }).on('dp.hide',function (event){

        if($('.form-coupon').data('bootstrapValidator')!=null){
            $('.form-coupon').data('bootstrapValidator')
                .updateStatus('startDate', 'NOT_VALIDATED',null)
                .validateField('startDate');
        }
    })

    $('#endDate').datetimepicker({
        format: 'YYYY-MM-DD HH:mm',
        locale: moment.locale('zh-cn'),

    }).on('dp.hide',function (event){

        if($('.form-coupon').data('bootstrapValidator')!=null){
            $('.form-coupon').data('bootstrapValidator')
                .updateStatus('endDate', 'NOT_VALIDATED',null)
                .validateField('endDate');
        }
    })

})
// 改变type类型 优惠券类型：折扣类、额度类
function changeCouponType(th) {
    if($(th).val()=='1'){
        $(".change-discount").show();
        $(".change-quota").hide();

    }else{
        $(".change-discount").hide();
        $(".change-quota").show()
    }
}

// 部分，全部按钮
function productAllPart(key) {
    if(key==0){
        $(".add-all-hide").hide()
    }else{
        $(".add-all-hide").show();
        memberProductFun();
        nomemberProductFun();
    }
}

//会员产品
function memberProductFun() {
    $('#memberProductListTable').bootstrapTable('destroy');
    $('#memberProductListTable').bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerMemberProduct/selectCustomerMemberProductList',  // 请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",                   // 数据类型
        striped: true,                      // 是否显示行间隔色
        sortable: true,                     // 是否启用排序
        sortOrder: "desc",                  // 排序方式
        sortName: 'productName',            // 排序字段
        cache: false,                       // 是否使用缓存
        showColumns: false,                 // 显示隐藏列
        showRefresh: false,                 // 显示刷新按钮
        showToggle: false,                  // 切换显示样式
        showFooter: false,                  // 显示Table脚部
        pagination: true,                   // 是否显示分页
        showPaginationSwitch: false,        // 是否显示分页按钮
        clickToSelect: true,                // 是否启用点击选中行
        maintainSelected: true,             // 分页是否保留选中
        singleSelect: false,
        minimumCountColumns: 2,             // 最少要显示的列数
        undefinedText: '-',                  // cell没有值时显示
        sidePagination: "server",           // 分页方式：client客户端分页，server服务端分页
        // serverSort: true,
        uniqueId: 'memberProductId',
        idField: 'memberProductId',
        pageSize: 5,                        // 每页的记录行数
        pageNumber: 1,                      // 初始化加载第1页，默认第1页
        pageList: "[5, 10, 15, 20]",        // 可供选择的每页的行数

        serverSelected: true,// 开启后端分页记住已选项功能
        serverSelectedField: "memberProductId",// 已选项的唯一识别主键

        queryParams: function(params) {
            params.pageSize = params.limit;
            params.pageIndex = (params.offset / params.limit) + 1;
            params.sortName = params.sort;                  //排序列名
            params.sortOrder = params.order;                //排序方式
            params.tag = 1;

            return params
        },//查询参数
        columns: [
            {title: '主键', field: 'memberProductId', visible: false,

            },
            {title: '',field: 'checked',checkbox: true,valign: 'middle',},
            {title: '会员卡名称', field: 'memberCardName', align: 'left', valign: 'middle'},
            {title: '会员产品编码', field: 'memberProductCode', align: 'left', valign: 'middle'},
            // {title: '售卡价格', field: 'sellingCardPrice', align: 'left', valign: 'middle'},
        ],
        responseHandler: function (result) {
            if(result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function (data) {
            // console.log(data)
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });



}

//非会员产品
function nomemberProductFun() {
    $('#nomemberProductListTable').bootstrapTable('destroy');
    $('#nomemberProductListTable').bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerProduct/selectCustomerProductListForCoupon',
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",                   // 数据类型
        striped: true,                      // 是否显示行间隔色
        sortable: true,                     // 是否启用排序
        sortOrder: "desc",                  // 排序方式
        sortName: 'createTm',               // 排序字段
        cache: false,                       // 是否使用缓存
        showColumns: false,                 // 显示隐藏列
        showRefresh: false,                 // 显示刷新按钮
        showToggle: false,                  // 切换显示样式
        showFooter: false,                  // 显示Table脚部
        pagination: true,                   // 是否显示分页
        showPaginationSwitch: false,        // 是否显示分页按钮
        clickToSelect: true,                // 是否启用点击选中行
        maintainSelected: true,             // 分页是否保留选中
        singleSelect: false,
        minimumCountColumns: 2,             // 最少要显示的列数
        undefinedText: '',                  // cell没有值时显示
        sidePagination: "server",           // 分页方式：client客户端分页，server服务端分页

        serverSelected: true,// 开启后端分页记住已选项功能
        serverSelectedField: "memberProductId",// 已选项的唯一识别主键

        // serverSort: true,
        uniqueId: 'memberProductId',
        idField: 'memberProductId',
        pageSize: 5,                        // 每页的记录行数
        pageNumber: 1,                      // 初始化加载第1页，默认第1页
        pageList: "[5, 10, 15, 20]",        // 可供选择的每页的行数

        queryParams: function(params) {
            params.pageSize = params.limit;
            params.pageIndex = (params.offset / params.limit) + 1;
            params.sortName = params.sort;                  //排序列名
            params.sortOrder = params.order;                //排序方式
            params.tag = 0;

            return params
        },//查询参数
        columns: [
            {title: '主键', field: 'memberProductId', visible: false},
            {field: 'checked',checkbox: true,  visible: true},
            {title: '产品名称',field: 'memberCardName', align: 'left', valign: 'middle'},
            {title: '产品编码',field: 'memberProductCode', align: 'left', valign: 'middle'},

            // {title: '产品原价', field: 'productOriginalPrice', align: 'left',valign: 'middle'},
            // {title: '产品单价', field: 'productUnitPrice', align: 'left',valign: 'middle'},
            // {title: '产品会员价', field: 'productMemberPrice', align: 'left', valign: 'middle'},
        ],
        responseHandler: function (result) {
            if(result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function (data) {
            // console.log(data)
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });

}

// 点击 会员和非会员切换
function memberProductFunClick(key) {
    if(key==0){
        //会员
        $(".memberProductListTable").show();
        $(".nomemberProductListTable").hide()
    }else{
        //非会员
        $(".nomemberProductListTable").show()
        $(".memberProductListTable").hide();
    }
}

// 点击添加产品
function addPartProduct() {

    dataList=$('#memberProductListTable').bootstrapTable('getSelections').concat($('#nomemberProductListTable').bootstrapTable('getSelections'));

    if(dataList.length<=0){
        $.alert('请选择产品！');
    }else{
        $("#addProduct").modal('hide')
        productListFun();
        $('#productList').bootstrapTable('append',dataList)
    }
}

//  添加后回显在页面
function genderOpt(value,row,index){
    let html='<button type="button" class="btn btn-default" id="delected">删除</button>';
    return html
}
window.operateEvents={
    "click #delected":function (e,value,row,index) {

        $('#productList').bootstrapTable('removeByUniqueId', row.memberProductId);

    }
}
//table
function productListFun() {
    $('#productList').bootstrapTable({
        class: 'table table-bordered table-hover table-striped',
        striped: true,                  // 是否显示行间隔色
        sortable: true,                 // 是否启用排序
        pagination: false,              // 是否显示分页
        minimumCountColumns: 2,         // 最少要显示的列数
        undefinedText: '-',             // cell没有值时显示
        uniqueId: 'memberProductId',
        columns: [
            {title: '主键', field: 'memberProductId', visible: false},
            {title: '产品名称', field: 'memberCardName',align: 'left', valign: 'middle',},
            {title: '产品编号', field: 'memberProductCode', align: 'left', valign: 'middle'},
            {title: '操作', field: 'operate', align: 'right', events: operateEvents, formatter: genderOpt}
        ],

    });
}

//提交
function submitClick() {

    $('.form-coupon').bootstrapValidator({
        fields: {
            couponName: {
                validators: {
                    notEmpty: {
                        message: '优惠券名称不能为空'
                    },

                }
            },
            couponType: {
                validators: {
                    notEmpty: {
                        message: '优惠券类型不能为空'
                    }
                }
            },
            couponCount: {
                validators: {
                    notEmpty: {
                        message: '优惠券数量不能为空'
                    }
                }
            },
            couponQuota: {
                validators: {
                    notEmpty: {
                        message: '优惠券额度不能为空'
                    },
                    regexp: {
                        regexp: /^\d+(\.\d{0,2})?$/,
                        message: '请输入大于0的数!'
                    }
                }
            },

            couponDiscount: {
                validators: {
                    notEmpty: {
                        message: '优惠券折扣不能为空'
                    },
                    regexp: {
                        regexp: /^\d+(\.\d{0,2})?$/,
                        message: '请输入大于0的数!'
                    }
                }
            },
            useType: {
                validators: {
                    notEmpty: {
                        message: '优惠券使用方式不能为空'
                    }
                }
            },
            startDate: {
                validators: {
                    notEmpty: {
                        message: '优惠券使用有效期不能为空'
                    }
                }
            },
            endDate: {
                validators: {
                    notEmpty: {
                        message: '优惠券使用有效期不能为空'
                    }
                }
            },


        },
    })
    $(".form-coupon").bootstrapValidator('validate');//提交验证
    if (!$(".form-coupon").data('bootstrapValidator').isValid()) {//获取验证结果，如果成功，执行下面代码

        return;
    }
    let radioVal=$('input:radio[name="scopeOfApplication"]:checked').val();
    console.log($('input:radio[name="scopeOfApplication"]:checked').val())
    if(!radioVal){
        $.alert('请选择产品！')
    }
    let productData=$('#productList').bootstrapTable('getData'),productId=[];
    console.log(productData)

    if(radioVal==='1'){
        productId=[]
    }else if(radioVal=='0' && productData.length<=0){
        $.alert('请选择产品！')
    }else{
        for(let i=0,lens=productData.length;i<lens;i++){
            productId.push(productData[i].memberProductId)
        }
    }


    let data={
        "couponName":$("#couponName").val(), //优惠券名称
        "couponType":Number($("#couponType").val()),//优惠券类型
        "couponQuota":Number($("#couponQuota").val()),//优惠券额度
        "couponDiscount":Number($("#couponDiscount").val()),//优惠券优惠折扣
        "scopeOfApplication":Number(radioVal),// 适用范围
        "couponCount":Number($("#couponCount").val()),//优惠券数量
        "validPeriod":$("#endDate").val(),//有效期结束
        "validPeriodStart":$("#startDate").val(),//有效期开始
        "useType":Number($("#useType").val()),//使用方式
        "productList":productId//productList
    }

    $.ajax({
        url:"/coupon/addCouponOrUpdateCoupon",
        type: 'POST',
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(data),
        success:function (data) {
            if(data.code==='000000'){
                $.alert({
                    title: '提示',
                    content: "成功！",
                    buttons: {
                        confirm: {
                            text: '确认',
                            btnClass: 'btn-primary',
                            action: function () {
                                var $thisTabs = parent.$('.mt-nav-bar .nav-tabs').find('li.active');
                                var navTab = parent.$multitabs._getNavTab($thisTabs);
                                closeTab(navTab);
                                openTab("优惠券管理", "/front/activityManager/discountCoupon");
                                refreshActivePane('/front/activityManager/discountCoupon');
                                delStorageAndRemove(navTab);

                            }
                        },

                    }
                })
            }else if(data.code==='CO0001'){
                $.alert('优惠券名称已存在！')
            }else{
                $.alert('失败！')
            }
        },
        error:function (error) {
            $.alert('失败！')
        }
    })


}

function resetClcik() {
    window.location.reload();
}